package com.hsq.mapper;

import com.hsq.pojo.ClientRequest;
import org.apache.ibatis.annotations.*;

import java.util.List;

public interface ClientRequestMapper {

    @Select("select * from client_request")
    @ResultMap("clentRequestMapper")
    List<ClientRequest> selectAll();


    /**
     * 添加数据
     * @param clientRequest
     */
    @Insert("insert into client_request values(null, #{name}, #{requestType}, #{requestUrl}, #{requestHeaders}, #{bodyType}, #{body})")
    void add(ClientRequest clientRequest);


    /**
     * 根据id删除数据
     * @param id
     */
    @Delete("delete from client_request where id = #{id}")
    void deleteById(int id);


    /**
     * 根据id查询数据
     * @param id
     * @return
     */
    @Select("select * from client_request where id = #{id}")
    @ResultMap("clentRequestMapper")
    ClientRequest selectById(int id);


    /**
     * 修改请求数据
     * @param clientRequest
     */
    void update(ClientRequest clientRequest);


    /**
     * 根据条件进行分页查询
     * @param begin 当前页面开始位置
     * @param size 当前页面展示条数
     * @param clientRequest 满足的搜索条件
     * @return
     */
    List<ClientRequest> selectByPageAndCondition(@Param("begin") int begin, @Param("size") int size, @Param("clientRequest") ClientRequest clientRequest);


    /**
     * 根据条件计算满足条件的数据条数
     * @param clientRequest
     * @return
     */
    int countByPageAndCondition(ClientRequest clientRequest);


    /**
     * 根据id数组删除数据
     * @param ids
     */
    void deleteByIds(@Param("ids") int[] ids);
}
